import jieba
def stopwordslist(filepath):
    stopwords = [line.strip() for line in open(filepath, 'r', encoding= 'utf-8'). readlines()]
    return stopwords
stopwords = stopwordslist('中文停用词.txt') #加载停用词表的路径
with open('唐诗三百首.txt', 'r',encoding='utf-8') as fr:
    txt=fr. read();
words=jieba.lcut(txt)
#精确模式分析，返回一个列表类型
counts={}
#生成一个空字典
for word in words :#统计每个单词的个数
    if word not in stopwords :
        if len(word)!=1:#同时过滤长度为1的字
            counts [word]=counts. get (word, 0)+1
items=list(counts. items())#返回所有的键值对
items. sort(key=lambda x:x[1], reverse=True) #排序
for i in range(30):
#打印前30个
    word,count=items [i]
    print("{0}({1}),".format(word, count),end='')
import jieba
#首先要保证所打开的文件是utf-8编码，如果不是，可使用记事本另存为utf-8编码
#UTF-8是一种面向互联网传输出现的变长(1-4字节) 的字符UNICODE编码，它兼容ASCII码，即英文字符1个字节，汉字占3个字节。
with open ('唐诗三百首.txt', 'r' ,encoding='utf-8') as fr:
    txt=fr.read();
words=jieba.lcut(txt)#精确模式分析，返回一个列表类型
counts={}#生成一个空字典
for word in words:#统计每个单词的个数
    counts [word]=counts.get(word,0)+1#有则加1，没有返回0+1 (添加了新的键值对)
items=list(counts.items()) # 返回所有的键值对
items . sort(key=lambda x:x[1], reverse=True )#排序
for i in range(30):#打印前30个
    word, count=items [i]
    print("{0:<10}{1:>5}". format(word, count)) #word左对齐，count 右对齐
